import request from '@/utils/request'

// 登录函数
/**
 * @description: 登录函数
 * @param {*} data { mobile,password}
 * @return {*} promise
 */
// 入参，逻辑 retrun值
export function login(data) {
  //  return是 request函数的调用接口， 也就是retrun的是request的函数的返回值[promise对象]
  return request({
    url: '/sys/login',
    method: 'POST',
    data: data // key data axios封装好的专门接收参数的位置
  })
}
/**
 * @description: 获取用户资料
 * @param {*} token
 * @return {*}
 */
export function getUserInfo() {
  return request({
    url: '/sys/profile',
    method: 'post'
  })
}
/**
 * @description: 获取用户头像
 * @param {*} id 用户id
 * @return {*}
 */
export function getUserDetailById(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

export function updateUserInfo(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'PUT',
    data
  })
}
// login((参数).then(res=>console.log(res)))
// 通过then 或者(async, await 用也行
// 比如登录调login 函数
//

// 封装好处：
// 语义化，看到函数就知道作用
// 复用性，多个业务重复使用，谁用谁调
// 函数统一，项目有效率

// // request.js和api的关系
// 1.一对多  一:request.js 多:api下面所有的接口请求
// token统一配置， baseURL统一配置  401统一监控
// 我们在拦截其中统一注入了token, 只要使用我导出的request进行接口分装
// 就自动有token数据,不用自己单独写
